iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 10
1
IoT

手拉手教自己用樹梅派、GoogleHome、GCP做一個AI智慧提醒機器人!系列 第 10

Day10 firebase function & cloud scheduler

  • 分享至 

  • xImage
  •  

昨天,我們建立了firebase的專案與firebase functions,今天我們將部屬functions並觸發他。
首先,在functions內建立http onrequest function,並限制當觸發方式為POST才執行firestore寫入。藉此,我們之後搭配其他的sensor或裝置只要利用functions就能寫入資料、搭配gcp scheduler可以定期更新資料或觸發音箱進行推播。

index.js

const functions = require('firebase-functions');
const firebaseAdmin = require('firebase-admin')
firebaseAdmin.initializeApp(functions.config().firebase)
exports.itHelpFunction = functions.https.onRequest( (req, res) => {

if(req.method==="POST"){
    var optionsHMS = {
        hour: "numeric", 
        minute: "numeric",
        second:"numeric",
        hour12: false};

    const timeHMS=String(Intl.DateTimeFormat("en-US", optionsHMS).format(new Date()))
    const data = {notifyMessage:timeHMS}
    firebaseAdmin.firestore().collection("itHelp").doc("googleHome").set(data)
    res.send(200, "OK");
    }else{
        res.send(300, "fail");
    }
})

部屬functions

firebase deploy --only functions


記得在 would you like with deletion? 輸入No,以免清除你已部屬的functions

接著,進入GCP平台使用Cloud Scheduler,建立工作。下方頻率是每5分鐘觸發,網址可在firebase的function取得。


因此在5分鐘前後進行node goooleHomeService.js,會推播不同訊息


上一篇
Day9 firebase functions(1)
下一篇
Day11 firebase function trigger to firestore
系列文
手拉手教自己用樹梅派、GoogleHome、GCP做一個AI智慧提醒機器人!30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言